/*
******************************************************************************************************* 
**  Copyright (C) 2019, 苏州检易生物科技有限公司 
**  All rights reserved. 
** 
**  FileName:       	pump.h
**  Description:	
**  Author:        	 
**  Version				v0.1
**  Date:           	2019-11-19
**	Function List： 
**  History:         
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*                                              	防止重复包含
*********************************************************************************************************
*/

#ifndef _STDL_CLAW_H_
#define _STDL_CLAW_H_
/*
*********************************************************************************************************
*                                              	调试开关
*********************************************************************************************************
*/



/*
*********************************************************************************************************
*                                              	头文件
*********************************************************************************************************
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#include "stm32h7xx_hal.h"
#include "product_cfg.h"
#include <rtthread.h>
#include "system_cfg.h"
//#include "can_claw_protocol.h"

/*
*********************************************************************************************************
*                                              	宏定义
*********************************************************************************************************
*/
#define STDL_CLAW_NUM   1
#define	CLAW_TMR_PERIOD	20

/*
*********************************************************************************************************
*                                              枚举和结构体类型定义
*********************************************************************************************************
*/
typedef enum{
	STDL_CLAW_UNINIT,
	STDL_CLAW_INITING,
	STDL_CLAW_OPENNING,
	STDL_CLAW_CLOSING,
	
	STDL_CLAW_OPEN,
	STDL_CLAW_CLOSE,
	STDL_CLAW_CLAMP,
	
	STDL_CLAW_ERR = 0xFF,
}stdl_claw_status_t;

typedef struct{
	uint16_t 					 node_id;
	stdl_claw_status_t status;
	
	uint8_t polling_flag; /*指示夹爪是否已经轮询*/
}stdl_claw_t;

typedef enum{
	CLAW_TRANSFER = 0,
}claw_index_t;
/*
*********************************************************************************************************
*                                              	全局变量声明
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                              	函数声明
*********************************************************************************************************
*/
void stdl_claw_start(void);
stdl_claw_status_t stdl_claw_init(claw_index_t);
stdl_claw_status_t stdl_claw_open(claw_index_t);
stdl_claw_status_t stdl_claw_close(claw_index_t);
stdl_claw_status_t get_stdl_claw_status(claw_index_t);
#endif
